from flask import Flask, request, jsonify
import subprocess

app = Flask(__name__)

@app.route('/webhook', methods=['POST'])
def webhook():
    data = request.json
    if data:
        # 在这里执行你的部署操作，比如拉取最新代码并执行部署
        # 这里只是一个简单的示例，你需要根据你的项目需求来实现部署逻辑
        try:
            subprocess.run(['git', 'pull'], check=True)
            # 在部署完成后，可以发送通知给你，这里只是简单打印一条消息
            print("拉取代码")
            return jsonify({'message': '拉取代码'}), 200
        except subprocess.CalledProcessError as e:
            # 如果部署出现错误，可以发送错误信息给你，这里只是简单打印一条错误消息
            print("拉取失败:", e)
            return jsonify({'message': '拉取失败'}), 500
    else:
        return jsonify({'message': '未收到有效数据'}), 400

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)